The invention disclosed herein relates generally to performing storage operations on electronic data in a computer network. More particularly, the present invention relates to managing metadata in a storage operation system.
Storage management systems have evolved over time into complex entities with many components including hardware and software modules designed to perform a variety of different storage operations on electronic data. Current storage management systems employ a number of different methods to perform storage operations on electronic data. For example, data can be stored in primary storage as a primary copy or in secondary storage as various types of secondary copies including, as a backup copy, a snapshot copy, a hierarchical storage management copy (“HSM”), as an archive copy, and as other types of copies.
A primary copy of data is generally a production copy or other “live” version of the data which is used by a software application and is typically in the native format of that application. Primary copy data may be maintained in a local memory or other high-speed storage device that allows for relatively fast data access. Such primary copy data is typically retained for a period of time (e.g., a number of seconds, minutes, hours or days) before some or all of the data is stored as one or more secondary copies, for example, to prevent loss of data in the event a problem occurs with the data stored in primary storage.
Secondary copies may include point-in-time data and may be intended for long-term retention (e.g., weeks, months or years depending on retention criteria, for example as specified in a storage policy as further described herein) before some or all of the data is moved to other storage or discarded. Secondary copies may be indexed so users can browse and restore the data at another point in time. After certain primary copy data is copied to secondary storage, a pointer or other location indicia such as a stub may be placed in the primary copy to indicate the current location of that data.
One type of secondary copy is a backup copy. A backup copy is generally a point-in-time copy of the primary copy data stored in a backup format as opposed to in native application format. For example, a backup copy may be stored in a backup format that is optimized for compression and efficient long-term storage. Backup copies generally have relatively long retention periods and may be stored on media with slower retrieval times than other types of secondary copies and media. In some cases, backup copies may be stored at an offsite location.
Another form of secondary copy is a snapshot copy. From an end-user viewpoint, a snapshot may be thought of as a representation or image of the primary copy data at a given point in time. A snapshot generally creates a bit map or block level representation of a primary copy volume at a particular moment in time. Users typically gain a read-only access to the record of files and directories of the snapshot. By electing to restore primary copy data from a snapshot taken at a given point in time, users may also return the current file system to the prior state of the file system that existed when the snapshot was taken.
A snapshot may be created instantly, using a minimum of file space, but may still function as a conventional file system backup. A snapshot may not actually create another physical copy of all the data, but may simply create pointers that are mapped to specific blocks of data taken at the point in time of the snapshot.
Another type of data generated by client computer systems and their associated networks is metadata. Metadata includes information, or data, about the data stored on the system. Metadata, while not including the substantive operational data of client applications is useful in the administration, security, maintenance, and accessibility of operational data. Examples of metadata include files size, edit times, edit dates, locations on storage devices, version numbers, encryption codes, restrictions on access or uses, and tags of information that may include an identifier for users or clients, etc.
Whether data is stored in primary or secondary storage, it may have metadata or other associated data useful for application or network management. Such metadata may be created by applications operating on different platforms and may be stored or backed up to storage devices that serve different and distinct storage domains. Thus, if it is desired to obtain metadata or other data relating to a particular application across a network or several clients (e.g., to obtain a collective or aggregate “unified view” of the data), it may be necessary to communicate with the various network devices to identify and collect the relevant metadata for use as an aid in system maintenance and administration.